package ferp.core.ai.nn.bp;

import ferp.core.card.Deck;
import ferp.core.game.Game;

/**
 * User: igorgok
 * Date: 1/12/14 9:47 AM
 */
public class School
{
  public static void main(String[] args)
  {

  }

  private static final class Deal
  {
    public int[] hands;
    public int talon;
    public int first;

    public Deal() {}
    public Deal(int seed)
    {
      Deck d = Deck.instance();

      this.first = Game.next(d.getRandomDealer());

      d.shuffle();

      // deal hands
      for (int i = 0, p = this.first; i < Deck.SIZE - 2; p = Game.next(p))
        // draw 2 cards to the current player
        hands[p] |= d.card(i++).hash | d.card(i++).hash;

      // talon
      talon = d.card(30).hash | d.card(31).hash;
    }
  }

  private static final class Generate
  {

  }

  private static final class Decision
  {
    private static final class Adaptation
    {

    }

    BPNN pass;
    BPNN play;
    BPNN misere;
    BPNN without3;
  }

  private static final class Drop
  {

  }

  private static final class Pass
  {
    public Pass()
    {
/*
      for (int i = 0; i < networks.length; ++i)
        networks[i] = new BPNN();
*/
    }

    private final BPNN[] networks = new BPNN[Game.MAXIMUM_ROUNDS];
  }

  private static final class Play
  {

  }

  private static final class Miser
  {

  }

}
